bitkeeper revision 1.1505 (428f2c4c-dG46JqogSF24go6sxrccw)
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Sat, 21 May 2005 12:40:44 +0000 (12:40 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Sat, 21 May 2005 12:40:44 +0000 (12:40 +0000)
Merge firebug.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into firebug.cl.cam.ac.uk:/local/scratch/cl349/xen-unstable.bk

1  2 
linux-2.6.11-xen-sparse/arch/xen/i386/kernel/time.c

index e490bbb629b94436d8cfb0e728c1ad7ec3b1def8,e013191f7b1f94a24d772d1d6b2ba1d7201a707b..f7f20487e6fb4b4f5f6f4c49ac964e8ea39eeb60
@@@ -718,20 -684,11 +723,18 @@@ int set_timeout_timer(void
         * This is safe against long blocking (since calculations are
         * not based on TSC deltas). It is also safe against warped
         * system time since suspend-resume is cooperative and we
 -       * would first get locked out. It is safe against normal
 -       * updates of jiffies since interrupts are off.
 +       * would first get locked out.
         */
 +#ifdef CONFIG_SMP
 +      do {
 +              seq = read_seqbegin(&xtime_lock);
 +              j = jiffies + 1;
 +              alarm = __jiffies_to_st(j);
 +      } while (read_seqretry(&xtime_lock, seq));
 +#else
        j = next_timer_interrupt();
-       if (j < (jiffies + 1))
-               j = jiffies + 1;
        alarm = __jiffies_to_st(j);
 +#endif
  
        /* Failure is pretty bad, but we'd best soldier on. */
        if ( HYPERVISOR_set_timer_op(alarm) != 0 )